package com.fowo.api.model.amazon.storage.fee.month;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 亚马逊月仓储费表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class AmazonStorageFeeMonthImportPo {

  /** ASIN */
  @ExcelProperty("ASIN")
  @Size(max = 50, message = "ASIN长度不能超过50")
  private String asin;

  /** FNSKU */
  @ExcelProperty("FNSKU")
  @Size(max = 50, message = "FNSKU长度不能超过50")
  private String fnsku;

  /** 品名 */
  @ExcelProperty("品名")
  @Size(max = 5000, message = "品名长度不能超过5000")
  private String name;

  /** sku */
  @ExcelProperty("sku")
  @Size(max = 50, message = "sku长度不能超过50")
  private String sku;

  /** 标题 */
  @ExcelProperty("标题")
  @Size(max = 5000, message = "标题长度不能超过5000")
  private String productName;

  /** 店铺 */
  @ExcelProperty("店铺")
  @Size(max = 50, message = "店铺长度不能超过50")
  private String sidShopName;

  @ExcelIgnore
  @Schema(title = "店铺")
  private String sid;

  /** 国家 */
  @ExcelProperty("国家")
  @Size(max = 50, message = "国家长度不能超过50")
  private String countryName;

  @ExcelIgnore
  @Schema(title = "国家")
  private String country;

  /** 国家代码 */
  @ExcelProperty("国家代码")
  @Size(max = 50, message = "国家代码长度不能超过50")
  private String countryCode;

  /** 仓库编号 */
  @ExcelProperty("仓库编号")
  @Size(max = 50, message = "仓库编号长度不能超过50")
  private String fulfillmentCenter;

  /** 长边 */
  @ExcelProperty("长边")
  @Size(max = 50, message = "长边长度不能超过50")
  private String longestSide;

  /** 中间边 */
  @ExcelProperty("中间边")
  @Size(max = 50, message = "中间边长度不能超过50")
  private String medianSide;

  /** 短边 */
  @ExcelProperty("短边")
  @Size(max = 50, message = "短边长度不能超过50")
  private String shortestSide;

  /** 长中短边单位 */
  @ExcelProperty("长中短边单位")
  @Size(max = 50, message = "长中短边单位长度不能超过50")
  private String measurementUnits;

  /** 重量 */
  @ExcelProperty("重量")
  @Size(max = 50, message = "重量长度不能超过50")
  private String weight;

  /** 重量单位 */
  @ExcelProperty("重量单位")
  @Size(max = 50, message = "重量单位长度不能超过50")
  private String weightUnits;

  /** 体积 */
  @ExcelProperty("体积")
  @Size(max = 50, message = "体积长度不能超过50")
  private String itemVolume;

  /** 体积单位 */
  @ExcelProperty("体积单位")
  @Size(max = 50, message = "体积单位长度不能超过50")
  private String volumeUnits;

  /** 产品标准 */
  @ExcelProperty("产品标准")
  @Size(max = 50, message = "产品标准长度不能超过50")
  private String productSizeTier;

  /** 库存量 */
  @ExcelProperty("库存量")
  @DecimalString(message = "库存量小数格式不正确", label = "库存量")
  private String averageQuantityOnHand;

  /** 待移除量 */
  @ExcelProperty("待移除量")
  @DecimalString(message = "待移除量小数格式不正确", label = "待移除量")
  private String averageQuantityPendingRemoval;

  /** 总体积 */
  @ExcelProperty("总体积")
  @DecimalString(message = "总体积小数格式不正确", label = "总体积")
  private String estimatedTotalItemVolume;

  /** 收费月份 */
  @ExcelProperty("收费月份")
  @Size(max = 50, message = "收费月份长度不能超过50")
  private String monthOfCharge;

  /** 收费标准 */
  @ExcelProperty("收费标准")
  @DecimalString(message = "收费标准小数格式不正确", label = "收费标准")
  private String storageRate;

  /** 币种 */
  @ExcelProperty("币种")
  private String currency;

  /** 预估仓储费 */
  @ExcelProperty("预估仓储费")
  @DecimalString(message = "预估仓储费小数格式不正确", label = "预估仓储费")
  private String estimatedMonthlyStorageFee;

  /** 危险品存放类型 */
  @ExcelProperty("危险品存放类型")
  @Size(max = 50, message = "危险品存放类型长度不能超过50")
  private String dangerousGoodsStorageType;

  /** 可享受存货折扣 */
  @ExcelProperty("可享受存货折扣")
  @Size(max = 50, message = "可享受存货折扣长度不能超过50")
  private String eligibleForInventoryDiscount;

  /** 可享受库存折扣 */
  @ExcelProperty("可享受库存折扣")
  @Size(max = 50, message = "可享受库存折扣长度不能超过50")
  private String qualifiesForInventoryDiscount;

  /** 折扣总额 */
  @ExcelProperty("折扣总额")
  @Size(max = 50, message = "折扣总额长度不能超过50")
  private String totalIncentiveFeeAmount;

  /** 分项激励金额 */
  @ExcelProperty("分项激励金额")
  @Size(max = 50, message = "分项激励金额长度不能超过50")
  private String breakdownIncentiveFeeAmount;

  /** 客户订单平均数量 */
  @ExcelProperty("客户订单平均数量")
  @Size(max = 50, message = "客户订单平均数量长度不能超过50")
  private String averageQuantityCustomerOrders;
}
